const express = require("express")
const app = express();
const path = require("path");

//处理body请求体的中间件
app.use(express.urlencoded())
app.use(express.json())


app.get('/user',(req,res)=>{
  const {token} = req.headers
  if(!token){
    return res.send({
      code: 10002,
      msg: '没有权限',
      data: null
    })
  }
  const {userId} = req.query
  if(userId !== '001'){
    return res.send({
      code: 10001,
      msg: '查询失败',
      data: null
    })
  }
  // console.log(req.query);
  res.send({
    code: 10000,
    msg: '查询成功',
    data: {
      name: '李白',
      age: 18,
      sex: '男'
    }
  })
})

//定义一个延迟响应的请求接口
app.get("/userLazy", (req, res) => {
  setTimeout(() => {
    const token = req.headers.token;
    console.log(token, "token");
    if (!token) {
      return res.send({
        code: 10002,
        msg: "没有权限",
        data: null
      })
    }

    // console.log(req.query);
    const {
      userId
    } = req.query;


    //如果查询失败
    if (userId !== "001") {
      return res.send({
        code: 10001,
        msg: "查询失败",
        data: null
      })
    }


    //查询成功 响应
    res.send({
      code: 10000,
      msg: "查询成功",
      data: {
        name: "李博",
        age: 18,
        sex: "男"
      }
    })

  }, 3000)
})
app.post('/adduser',(req,res)=>{
  const {
    name,
    age,
    sex
  } = req.body
  if(!name || !age || !sex){
    return res.send({
      code: 10001,
      msg: '添加失败',
      data: null
    })
  }
  console.log(req.body);
  res.send({
    code: 10000,
    msg: '添加成功',
    data: null
  })
})
app.put('/updateuser',(req,res)=>{
  const {
    userId,
    age,
    sex
  } = req.body

  console.log(userId,age,sex,'修改');
  res.send({
    code: 10000,
    msg: '修改成功',
    data: null
  })
})
app.delete('/deleteuser',(req,res)=>{
  const {
    userId
  } = req.query
  console.log(userId,'删除');
  res.send({
    code: 10000,
    msg: '删除成功',
    data: null
  })
})
// //查询学生信息接口
// app.get("/user", (req, res) => {
//   // console.log(req.query);
//   const {
//     userId
//   } = req.query;


//   //如果查询失败
//   if (userId !== "001") {
//     return res.send({
//       code: 10001,
//       msg: "查询失败",
//       data: null
//     })
//   }


//   //查询成功 响应
//   res.send({
//     code: 10000,
//     msg: "查询成功",
//     data: {
//       name: "李博",
//       age: 18,
//       sex: "男"
//     }
//   })

// })


// app.post("/adduser", (req, res) => {
//   console.log("adduser");
//   console.log(req.body, "req.body");
//   // console.log(req.query, "req.query");
//   const {
//     name,
//     age,
//     sex
//   } = req.body;

//   if (!name || !age || !sex) {
//     return res.send({
//       code: 10001,
//       mes: "添加失败",
//       data: null
//     })
//   }

//   res.send({
//     code: 10000,
//     mes: "添加成功",
//     data: null
//   })
// })


// app.put("/updateuser", (req, res) => {
//   const {
//     userId,
//     age,
//     sex
//   } = req.body;

//   console.log(userId, age, sex, "更新");

//   res.send({
//     code: 10000,
//     mes: "更新成功",
//     data: null
//   })
// })

// app.delete("/deleteuser", (req, res) => {
//   const {
//     userId
//   } = req.query;
//   console.log(userId, "删除");

//   res.send({
//     code: 10000,
//     mes: "删除成功",
//     data: null
//   })
// })



//静态资源部署接口
app.get("/1", (req, res) => {
  const filePath = path.resolve(__dirname, "./01.axios的基础使用.html");
  res.sendFile(filePath);
})

app.get("/2", (req, res) => {
  const filePath = path.resolve(__dirname, "./02.axios请求别名.html");
  res.sendFile(filePath);
})

app.get("/3", (req, res) => {
  const filePath = path.resolve(__dirname, "./03.创建axios实例.html");
  res.sendFile(filePath);
})

app.get("/4", (req, res) => {
  const filePath = path.resolve(__dirname, "./04.请求拦截器.html");
  res.sendFile(filePath);
})
app.get("/5", (req, res) => {
  const filePath = path.resolve(__dirname, "./05.响应拦截器.html");
  res.sendFile(filePath);
})

app.get("/6", (req, res) => {
  const filePath = path.resolve(__dirname, "./06.拦截器练习.html");
  res.sendFile(filePath);
})

app.get("/7", (req, res) => {
  const filePath = path.resolve(__dirname, "./07.取消请求.html");
  res.sendFile(filePath);
})



app.listen(3000, () => {
  console.log("服务器请求成功 请访问 http://127.0.0.1:3000");
})